#include<string>
#include<array>
using namespace std;
class Solution {
public:
    bool checkPartitioning(string s) {
        array<array<bool,2000>,2000>dp;
        for(auto&e:dp)e.fill(false);
        for(int i=0;i<s.size();i++){
            for(int j=0;j<=i;j++){
                if(s[j]==s[i]){
                    dp[j][i]=j>=i-1?true:dp[j+1][i-1];
                }
            }
        }
        //枚举所有情况
        for(int i=1;i<s.size()-1;i++){
            for(int j=i;j<s.size()-1;j++){
                if(dp[0][i-1]&&dp[i][j]&&dp[j+1][s.size()-1])
                    return true;
            }
        }
        return false;
    }
};